package com.correo.controladores.server.event;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;

import com.correo.exceptions.server.RefreshException;
import com.correo.modelo.server.ModelServer;
import com.correo.vista.server.windows.AdministracionCorreo;

public class ActionListenerActualizar implements ActionListener {
	private AdministracionCorreo administracionCorreo;

	private ModelServer model;

	public ActionListenerActualizar(AdministracionCorreo administracionCorreo,
			ModelServer model) {
		this.model = model;
		this.administracionCorreo = administracionCorreo;
	}

	@Override
	public void actionPerformed(ActionEvent e) {

		try {
			switch (administracionCorreo.getTab()) {
			case AdministracionCorreo.TAB_CASILLA_CORREO:
				System.out.println("Actualizar usuario DB");
				
				administracionCorreo.getDialogCasillaCorreo(null,false,false).setActualizarTabla(model.getModelCasillaCorreo().refresh());
					
				break;
			case AdministracionCorreo.TAB_USUARIO_SOCKET:
				System.out.println("Actualizar usuario del servidor socket");
				break;
			case AdministracionCorreo.TAB_USUARIO:
				administracionCorreo.getDialogUser(null,false,false).setActualizarTabla(model.getModelUser().refresh());
				System.out.println("Actualizar casilla correo");
				break;
			case AdministracionCorreo.TAB_OFICINA_CORREO:
				System.out.println("Actualizar oficina de correo");
				administracionCorreo.getDialogOficce(null,false,false).setActualizarTabla(model.getModelOficce().refresh());
				break;
			case AdministracionCorreo.TAB_RELACION_CONFIANZA:
				System.out.println("Actualizar Relacion de confianza");
				break;
	
			default:
				System.out.println("opcion incorrecta Actualizar");
				break;
			}
		} catch (RefreshException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (SQLException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		} catch (ClassNotFoundException e2) {
			// TODO Auto-generated catch block
			e2.printStackTrace();
		}catch (Exception e2) {
			e2.printStackTrace();
		}
	}

}
